由於區塊鏈平台的去中心化架構和數據的不可篡改性,大眾普遍覺得它會在金融、徵信、物聯網、交易結算、資產管理等領域的應用前景十分光明;實際上,也確實如此。區塊鏈技術已經在加密貨幣、智慧合約、金融科技和供應鏈管理、共享經濟等諸多領域被廣泛應用。
與「錢」有關,並且很多大企業都在使用,這自然會吸引網路犯罪分子的注意。與「比特幣」等可以公開訪問的「公鏈」不同,大部分應用區塊鏈技術的企業通常會採用「私鏈」機制,這種區塊鏈主要會被企業用在供應鏈管理、合約管理,甚至當作金融交易平台。私鏈由一系列私有節點組成,可通過安全邊界來限制查詢節點,並完全由企業自行控制。這種方案真的對安全性更有保障,還是僅僅看起來很美好?
目前尚未有針對企業區塊鏈應用進行攻擊的報導,但是別開心,那主要是因為企業對這些技術的應用依然處於開發或小型試驗階段,還不值得被攻擊。儘管從原理和設計機制等方面來看,區塊鏈很難成為駭客的攻擊目標,但它並非無懈可擊的。
針對公鏈的攻擊早已屢見不鮮。根據安全公司 Carbon Black 統計,僅2018年上半年,駭客就從各種加密貨幣平台盜取了價值11億美元的加密貨幣!有利可圖的網路犯罪為攻擊者提供了巨大的動機和吸引力,而暗網則為他們提供了理想的銷贓通路。攻擊者針對各類公鏈進行攻擊所獲得的經驗以及開發出的工具,已經為以後針對企業區塊鏈的攻擊打下堅實基礎。
所以,對於打算進行區塊鏈專案的企業,有必要仔細評估下列五大安全風險。
在某些方面,企業私鏈甚至比公鏈更脆弱。
區塊鏈的價值
區塊鏈技術最大的價值之一在於,這是一種大型、分散式、對等彈性網路。如果一個節點故障,系統會自動繞過故障節點並繼續正常運轉,不會遇到單點故障的問題。如果網路中的一位參加者試圖把非法交易偷偷入帳,這種做法也不會得到其他參加者認同。但如果有人無意中犯錯又會怎樣?
區塊鏈有著去中心化的特徵,而其最大優勢在於,如果想進行任何改動(例如建立一筆交易),必須首先獲得所有參加者的共識。如果在進行加密貨幣交易的過程中出現人為錯誤(例如輸入了錯誤的金額或收款人資料),這樣的錯誤將無法撤銷。畢竟這裡並不存在什麼中央權威機構,如果忘記了數字錢包密碼,就和它永別吧。會有企業想要使用這樣的系統嗎?
雖然區塊鏈的加密機制可以防止用戶更改歷史帳目,但這樣的系統通常都會允許用戶增加新帳目。對企業專案來說,參與者通常是可被信任的交易方,而不是網上隨便一位「路人甲」。但如果被信任的交易方自身出現安全問題,那麼區塊鏈的安全優勢將蕩然無存。
更糟的是,如果網路中的大部分節點都被攻陷,此時會怎樣?區塊鏈是一種分散式共識系統,如果系統中超過半數節點都同意一件事(哪怕是攻擊者自行虛構的事),那麼整個區塊鏈網路都會同意這件事。因此如果攻擊者能夠攻陷區塊鏈中51%的節點,那麼理論上他將可以為所欲為!這就是所謂的51%算力攻擊。
對於公開的加密貨幣網路,這一點往往很難做到,因為全球各地的參加者實在太多了,單一個體或自發組織很難獲得足夠的算力。但這在技術上依然是可行,並已得到驗證。很多小規模加密貨幣網路面對這種問題非常脆弱,例如 Bitcoin Gold 曾在5月被駭客利用51%算力攻擊盜取了價值1800萬美元的加密貨幣。
企業區塊鏈專案的參加者數量通常遠少於公開加密貨幣平台,而網路規模越小,只要攻陷越少的節點數量就可以獲得51%算力。
此外還要考慮攻陷節點的難度。公開的加密貨幣平台中,參加者需要下載各種「挖礦專案」,這些專案往往有著各異的配置,因此單一專案的漏洞很難對整個網路造成太大的影響。但企業部署中,大部分節點通常會使用相同的專案和配置,因此「同質性」更強,一旦一個節點發現漏洞,往往就可以拿來攻擊企業區塊鏈網路中幾乎所有的節點。
區塊鏈專案還有一個薄弱之處:這種技術實在太新了,很容易在執行過程中產生各種錯誤,甚至核心區塊鏈加密技術本身也可能出問題。
算法本身在數學上可能合理,但所用特定版本的代碼可能會有漏洞。如果不能完全了解底層數學原理,那麼基本上就等同於從網上下載一個「黑盒子」跑在自己的節點上,你根本不可能知道它會做什麼。
正是因為這項技術太新,我們甚至可能根本不知道自己到底犯了哪些錯。例如,區塊鏈技術通過加密密鑰進行身份驗證,這些密鑰必須妥善管理——但實際上,大部分企業連自己網站所用的證書都管不好!此外,企業區塊鏈專案還可能受到與其他技術專案類似攻擊向量的影響,如網路釣魚和詐欺。
推行區塊鏈專案的企業,首先應該充分理解到當中涵蓋的所有基本技術,例如使用最新、最安全的專案開發和審核流程,部署多重身份驗證機制,鎖定網站防範Web攻擊等。
2016年,去中心化自治組織(Decentralized Autonomous Organization,DAO)利用以太坊(Ethereum)平台發起了一個以投資區塊鏈為主的基金,並使用某種區塊鏈網路來儲存智慧合約。但隨後駭客利用智慧合約從系統中竊取了價值1.5億美元的以太坊代幣。 DAO 的遭遇完美地證明:就算某個系統使用區塊鏈基礎進行交易,也並不表示系統本身就是安全的。
人人都想使用區塊鏈,大家都認為它是一種點對點的分散式分類帳模型,所以,以它為基礎建構的其他任何系統,也能獲得與生俱來的安全保護。真有這麼好的事嗎?任何系統的安全性和可靠性,只取決於這個系統本身的設計。
智慧合約對企業的吸引力很大,這種系統可以在滿足預設條件後自動執行,並且無法拒絕。但這也意味著,即使需要修復錯誤或撤銷詐欺行為,出錯的合約也很難被撤銷。如果真遇到這種情況,合約中涉及的資金可能會永久鎖定在區塊鏈裏,這種情況已經出現了:去年秋天,就有人無意中鎖定了多方參與的以太坊合約,造成損失超過3億美元!
時至今日,公共加密貨幣交易所已成為區塊鏈生態中最容易實行的一環。在這裡,充沛的資金唾手可得,以此為目標的犯罪行為很難被查獲。而網路犯罪集團當然不會放過這種能獲得最大化投資回報率的目標。
未來一段時間裡,這種狀況還會持續。整個行業太年輕了,目前在和加密貨幣無關的區塊鏈系統裏,甚至還沒有一個能讓大眾尋找並回報漏洞的平台。雖然很多大企業宣稱自己已經在投資、收購或自行執行區塊鏈技術,但短時間內,應該很難看到這類技術運用在實際行為上。
隨著與大筆資金有關的企業專案、與關鍵基礎架構或業務流程有關的專案,甚至與經濟民生等敏感資料相關的專案陸續上線,現況肯定會得到改觀。但每個人都會面臨極為陡峭的學習曲線。最先跨足的企業也會優先從中獲益,當然也會從中獲得大量寶貴的經驗。
目前,很多企業正在積極探索區塊鏈相關的解決方案,但最大的風險將來自這樣一種心態:我有一個問題,我想用區塊鏈技術解決,趕快準備點東西出來吧。
區塊鏈技術並非萬靈丹。區塊鏈架構提供一種不用依賴中間人就能建立共識的能力,這種能力可以解決很多問題,但沒辦法解決所有問題!但是,很多想投入區塊鏈的企業誤解了這一點,甚至產生一個錯誤的認知:「區塊鏈是個很棒的解決方案,我們一起找些問題然後用它來解決吧。」從技術的角度來看,這種想法非常危險!
補充一條花絮
區塊鏈技術自身是否安全暫且不談,但針對這種技術直接或間接進行網路犯罪活動的新聞,早已屢見不鮮了。吶,最近就有一則最新出爐的攻擊報導:Akamai 線上威脅研究團隊曾於七月初報告了一個名叫DrupalGangster 的惡意專案,該專案會利用流行的內容管理系統Drupal 中存在的Drupalgeddon2.0 漏洞感染Web 伺服器,並透過遠端命令輸入攻擊的方式,建立專門使用Web 服務器的運算能力挖掘門羅幣(Monero)的殭屍網路。自從該漏洞曝光以來,網路犯罪分子已經透過這種方式賺得了價值1.1萬美元的門羅幣。
最令人揪心的是,應對該 Bug 的修正檔早在今年3月就已經發布,可是中招的伺服器依然不少。僅 Akamai 客戶中,就有約3600家受到影響。晚起的鳥兒沒蟲吃,早起的鳥兒……面對區塊鏈這種爆紅技術,不管你是否計劃使用,該有的安全措施一個都不能少。